from tkinter import *
import tkinter as TK
from PIL import Image, ImageTk
import time

class QRcode(Frame):
    def __init__(self,init_window_name):
        self.init_window_name = init_window_name
        self.init_window_name.resizable(False,False) # 窗口缩放


    #设置窗口
    def set_init_window(self):
        self.init_window_name.title("二维码生成器 V1.0   by: wilson")      #窗口名

        self.init_window_name.update()  # 更新窗口
        curWidth = self.init_window_name.winfo_reqwidth()
        curHeight = self.init_window_name.winfo_height()
        scnWidth, scnHeight = self.init_window_name.maxsize()
        tempConf = '%dx%d+%d+%d' % (360, 260,
                                  (scnWidth - curWidth) / 2, (scnHeight - curHeight) / 2)
        self.init_window_name.geometry(tempConf)
        # 标签
        self.init_data_label = Label(self.init_window_name, text="输入文字：")
        self.init_data_label.grid(row=0, column=0, rowspan=1, columnspan=2)
        # 文本框
        self.init_data_Text = Text(self.init_window_name, width=50, height=2)  # 原始数据录入框
        self.init_data_Text.grid(row=1, column=0, rowspan=1, columnspan=2)
        # 合成黑白按钮
        self.test_button = Button(self.init_window_name, text="生成黑白的", bg="lightblue", width=10,
                                              command=self.showImage)  # 调用内部方法  加()为直接调用
        self.test_button.grid(row=2, column=0)

        # 合成彩色按钮
        self.test_button_c = Button(self.init_window_name, text="生成彩色的", bg="lightblue", width=10,
                                  command=self.test)  # 调用内部方法  加()为直接调用
        self.test_button_c.grid(row=2, column=1)

    # 获取当前时间
    def get_current_time(self):
        current_time = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
        return current_time

    # 功能函数，显示二维码
    def showImage(self):
        # str = self.urlInput.get() or 'http://wevsmy.cn'
        # self.createQRcode(url=str)
        load = Image.open('image.jpg')  # 图片的相对路径
        render = ImageTk.PhotoImage(load)
        # img = TK.Label(self, image=render)
        # img.image = render
        # img.place(x=10, y=10)


        # 功能函数
    def test(self):
        src = self.init_data_Text.get(1.0, END).strip().replace("\n", "")
        print(src)
        # nowTime = self.get_current_time()
        # if src:
        #     result = self.aipSpeech.synthesis(src, 'zh', 1, {
        #         'vol': 5,
        #     })
        #     # 识别正确返回语音二进制 错误则返回dict 参照下面错误码
        #     if not isinstance(result, dict):
        #         with open("temp/{}.mp3".format(nowTime), "wb") as f:
        #             f.write(result)
        #         pygame.mixer.music.load(r"temp/{}.mp3".format(nowTime))
        #         pygame.mixer.music.play(1)


def gui_start_test():
    init_window = Tk()              #实例化出一个父窗口
    ZMJ_PORTAL = QRcode(init_window)
    # 设置根窗口默认属性
    ZMJ_PORTAL.set_init_window()
    init_window.mainloop()          #父窗口进入事件循环，可以理解为保持窗口运行，否则界面不展示


if __name__ == '__main__':
    gui_start_test()